package org.hy.persistence.group;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.hy.domain.group.GMail;

/**
 * 邮箱映射器
 * @author xwm
 *
 */
public interface GMailMapper {

	/**
	 * 添加邮箱
	 * @param GMail邮箱对象
	 * @return
	 */
	int insertGMail(GMail GMail);
	
	/**
	 * 删除邮箱
	 * @param idGMail
	 * @return
	 */
	int deleteGMail(int idGMail);
	
	/**
	 * 查找邮箱
	 * @param id 邮箱id
	 * @return 邮箱对象
	 */
	GMail findGMailById(int id);
	
	/**
	 * 查找小组成员发布的邮箱列表
	 * @param idGm 用户idGm
	 * @param offset 偏移量
	 * @param size 数目
	 * @return
	 */
	List<GMail> findGMailByIdGm(@Param("idGm")int idGm,@Param("offset")int offset,@Param("size")int size);

	/**
	 * 查找小组的邮箱
	 * @param gid 小组id
	 * @param offset 偏移量
	 * @param size 数目
	 * @return 邮箱列表
	 */
	List<GMail> findGMailByGid(@Param("gid")int gid,@Param("offset")int offset,@Param("size")int size);

	/**
	 *  查找用户发表的邮箱列表，包含各个小组的邮箱列表
	 * @param uid 用户id
	 * @param offset 
	 * @param size
	 * @return 邮箱列表
	 */
	List<GMail> findGMailByUid(@Param("uid")int uid,@Param("offset")int offset,@Param("size")int size);
	
	/**
	 * 统计小组邮箱数目
	 * @param gid小组id
	 * @return
	 */
	int countGMail(int gid);

}
